package windbell.domain.risk.events;

import edu.fudan.langlab.domain.document.IDocument;
import edu.fudan.mylang.pf.event.IEntityEventsListner;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
import windbell.domain.risk.RiskCheckItem;
import windbell.domain.risk.RiskReport;

public interface RiskCheckItemEventsListener extends IEntityEventsListner<RiskCheckItem> {
  public abstract void publish(final RiskCheckItem entity);
  
  public abstract void startAudit(final RiskCheckItem entity);
  
  public abstract void createReport(final RiskCheckItem entity, final Procedure1<? super RiskReport> init);
  
  public abstract void deleteReport(final RiskCheckItem entity, final RiskReport report);
  
  public abstract void createDocument(final RiskCheckItem entity, final Procedure1<? super IDocument> init);
  
  public abstract void removeDocument(final RiskCheckItem entity, final IDocument document);
  
  public abstract void finish(final RiskCheckItem entity, final String comment);
}
